home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / errqueue.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  842b  |  48 lines

  1. #ifndef _LINUX_ERRQUEUE_H
  2. #define _LINUX_ERRQUEUE_H 1
  3.  
  4. struct sock_extended_err
  5. {
  6.     __u32    ee_errno;    
  7.     __u8    ee_origin;
  8.     __u8    ee_type;
  9.     __u8    ee_code;
  10.     __u8    ee_pad;
  11.     __u32   ee_info;
  12.     __u32   ee_data;
  13. };
  14.  
  15. #define SO_EE_ORIGIN_NONE    0
  16. #define SO_EE_ORIGIN_LOCAL    1
  17. #define SO_EE_ORIGIN_ICMP    2
  18. #define SO_EE_ORIGIN_ICMP6    3
  19.  
  20. #define SO_EE_OFFENDER(ee)    ((struct sockaddr*)((ee)+1))
  21.  
  22. #ifdef __KERNEL__
  23.  
  24. #include <linux/config.h>
  25. #include <net/ip.h>
  26. #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
  27. #include <linux/ipv6.h>
  28. #endif
  29.  
  30. #define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))
  31.  
  32. struct sock_exterr_skb
  33. {
  34.     union {
  35.         struct inet_skb_parm    h4;
  36. #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
  37.         struct inet6_skb_parm    h6;
  38. #endif
  39.     } header;
  40.     struct sock_extended_err    ee;
  41.     u16                addr_offset;
  42.     u16                port;
  43. };
  44.  
  45. #endif
  46.  
  47. #endif
  48.